package com.ygqh.baby.service;

import com.ygqh.baby.ao.ContractStatus;
import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.ao.ResultSet;
import com.ygqh.baby.model.SkuInfoBySupplierRecon;
import com.ygqh.baby.po.YgSupplier;
import com.ygqh.baby.po.YgSupplierReconciliation;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface YgSupplierReconciliationService {

	List<YgSupplierReconciliation> find();

	int findCount();

	YgSupplierReconciliation findById(Long id);

	int deleteSoft(Long[] ids);

	int deleteSoft(Long id);

	int save(YgSupplierReconciliation ygSupplierReconciliation);

	int update(YgSupplierReconciliation ygSupplierReconciliation);

	int saveOrUpdate(YgSupplierReconciliation ygSupplierReconciliation);

	ResultSet<YgSupplierReconciliation> search(QueryInfo queryInfo, String q, Long supplierId, ContractStatus reconciliationStatus);

	void addSupplierReconciliation(Long supplierId);

	/**
	 * 导出商家对账账单
	 * @param reconciliationId
	 */
	Map<String, Object> findExportData(Long reconciliationId);

	/**
	 * 添加商家历史对账
	 * @param ygSupplier
	 */
	void addReconciliantionPastTime(YgSupplier ygSupplier);

	void updateByReset(Long id);

	List<SkuInfoBySupplierRecon> findBiSkuInfoList(Date startTime, Date endTime, Long supplierId);

	Map<String, Object> findExportDataDetail(Date startTime, Date endTime, Long supplierId);
}
